AUTOSAR 入门教程之基础篇二

#Innolight #AutoSAR

根据提供的基本服务,基础软件可以按堆栈进行划分,例如通信堆栈(包括通信驱动程序、通信接口和通信服务)、内存堆栈(包括内存驱动程序、内存接口和内存服务)、I/O 堆栈(包括 I/O 驱动程序和 I/O 抽象层)。

Pasted image 20250712233413.png|650

模块之间通过不同类型的接口进行通信或交换数据:

  1. AUTOSAR 接口:定义软件组件与基本软件模块之间交换的信息。AUTOSAR 接口独立于编程语言、底层硬件和网络技术。AUTOSAR 接口用于通过软件组件定义端口,并使基础软件与应用软件组件交换数据。
  2. 标准化 AUTOSAR 接口:是指其语法和语义由 AUTOSAR 定义的 AUTOSAR 接口。这些接口用于将基本软件的标准 AUTOSAR 服务提供给应用软件组件。
  3. 标准化接口:这些接口是在特定的编程语言中定义的,并且主要在基于同一 ECU 的模块之间使用。基本软件中的模块通过标准化接口相互交互。

AUTOSAR 中的配置类:

  1. Pre-compile time:配置用于在运行时包含或排除不需要的源代码部分。预编译时间的配置是静态的,其中软件模块在编译后根据配置生效。这会导致代码大小和性能的优化。预编译时间的配置在文件 *_Cfg.c*_Cfg.h 中完成,‘*’ 表示模块名称。
  2. Link time:当配置文件以目标代码形式可用时,使用这种配置。软件的目标代码从其他目标代码文件接收配置的一部分,或由链接器选项定义。配置在编译后、链接前选择。单独文件中的配置称为外部常量。链接时间配置在 *_Lcfg.c*_Lcfg.h 文件中完成,‘*’ 表示模块名。
  3. Post-build time:在完整软件构建完成后,可以配置软件模块。配置的引用可用,实际配置在 ECU 烧录期间可用。这增加了可重用性,使得同一 ECU 可以通过提供不同的 ECU 配置集用于不同汽车。构建后时间配置在 *_PBcfg.c *_PBcfg.h 文件中完成,‘*’ 表示模块名。
    • Post-build Loadable:在这种配置集中,一个配置结构可用,结构的各个成员可以修改,但不能选择完全不同的结构。
    • Post-build Selectable:在此配置集中,可能有‘n’个配置集,在 ECU 烧录过程中可以选择一个完整的配置集。这些通常以结构数组的形式提供,在 ECU 烧录过程中选择其中一个配置集。